function Muster(){
  let Item = {}
  this.has = (val) => {
    return Reflect.has(Item,val)
  }
  this.add = (val) => {
    if(!this.has(val)) {
      Item[val]=val;
      return true;
    } else  return false;
  }
  this.remove = (val) => {
    if(!this.has(val)){
      delete Item[val]
      return true;
    } else return false;
  }
  this.clear = () => {
    this.Item = {}
  }
  this.size = () => {
    return Reflect.ownKeys(Item).length
  }
  this.keys = () => {
    return Reflect.ownKeys(Item)
  }
  this.values = () => {
    return Object.values(Item)
  }
}

let a = new Muster()
a.add('ad')
a.add('awd')
a.add('adfd')
a.add('adfd')
a.add('adsef')
a.add('awefd')
console.log(a.has('a'))
console.log(a.keys())
console.log(a.values())
console.log(a.size())